﻿//using ActivtyUI.App_Code;
//using ActivtyUI.Filter;
//using EmoneyWeiXinBLL;
//using EmoneyWeiXinCommon;
//using EmoneyWeiXinEntity;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Web;
//using System.Web.Mvc;

//namespace ActivtyUI.Controllers
//{
//    public class ActZhounianQingController : Controller
//    {
//        MemcachedTools1 mmtols = new MemcachedTools1();
//        string ActName = "ActZhounianQing";
//        string actDataCacheFix = "ActZhounianQingData";  //活动数据缓存前缀
//        string openStatuCacheFix = "ZhounianQingStatu";
//        public static object lockObj = new object();

//        weixinUserEntity currentWeiXin
//        {
//            get
//            {
//                return new weixinUserEntity()
//                    {
//                        AppId = "wx07cd11360d0f5afb",
//                        AppSecret = "c5edca7c02f64ec40b78b612c35858ea"
//                    };
//            }
//        }

//        private string currentOpenid
//        {
//            get { return Request["openid"]; }
//        }
//        /// <summary>
//        /// 从缓存中取数据根据openid
//        /// </summary>
//        /// <param name="openId"></param>
//        /// <returns></returns>
//        public ZhouNianQingZhuanPanEntity GetActDataByOpenId(string openId)
//        {
//            string mmKey = actDataCacheFix + openId;
//            ZhouNianQingZhuanPanEntity entity = mmtols.Get<ZhouNianQingZhuanPanEntity>(mmKey);
//            if (entity == null) //如果缓存中不存在该数据，就从数据库中取 
//            {
//                entity = ZhouNianQingZhuanPanBLL.GetActDataByOpenId(openId);
//                if (entity != null) //说明已经参与过抽奖
//                {
//                    entity.isChoujiang = 1;
//                    mmtols.Add(mmKey, entity, 2, 0, 0);
//                }

//            }
//            return entity;
//        }


//        [HttpGet]
//        [WeiXinUserAgentFilter]
//        public ActionResult GamePage()
//        {
//            try
//            {
//                if (mmtols.Get<int>(openStatuCacheFix) != 1)
//                {
//                    return Content("活动还没开启！");
//                }

//                if (currentOpenid != null)
//                {

//                    ZhouNianQingZhuanPanEntity tempentity = GetActDataByOpenId(currentOpenid);
//                    if (tempentity == null) //如果缓存和数据库中都没有数据，说明该用户是第一次进入该页
//                    {   //根据openid去获取用户信息
//                        WeixinUserInfo_ReturnJson user = ActCommon.GetUserInfoByOpenId(currentOpenid, currentWeiXin.AppId, currentWeiXin.AppSecret);
//                        if (user != null && user.openid == currentOpenid)
//                        {
//                            ZhouNianQingZhuanPanEntity entity = new ZhouNianQingZhuanPanEntity();
//                            entity.openid = currentOpenid;
//                            entity.ActName = ActName;
//                            entity.head_Img = user.headimgurl;
//                            entity.nickName = user.nickname;
//                            int result = GetResult();
//                            if (result % 2 == 0)
//                            {
//                                entity.gift = result.ToString();
//                                entity.isHaveGift = 1;
//                            }
//                            else
//                            {
//                                entity.gift = result.ToString();
//                                entity.isHaveGift = 0;

//                            }
//                            ViewBag.ZjResult = result;
//                            mmtols.Add(actDataCacheFix + currentOpenid, entity, 2, 0, 0);
//                        }
//                        else
//                        {
//                            return Content("这个openid是乱填的，你以为我不知道？");
//                        }


//                    }
//                    else
//                    {
//                        if (tempentity.isChoujiang == 1) //说明已经抽过奖了。
//                        {
//                            ViewBag.isChouJiang = 1;
//                            //return RedirectToAction("ResultPage", new { openid = currentOpenid });
//                        }
//                        ViewBag.ZjResult = tempentity.gift;
//                    }

//                    ViewBag.openid = currentOpenid;
//                    return View();
//                }
//                else
//                {
//                    return Content("缺少参数，请重试");
//                }

//            }
//            catch (Exception)
//            {

//                return Content("OH NO ，出现了错误！这个开发人员太年轻了，请见谅！");
//            }

//        }

//        /// <summary>
//        /// 已经参与过活动的结果页
//        /// </summary>
//        /// <returns></returns>
//        public ActionResult ResultPage()
//        {
//            if (mmtols.Get<int>(openStatuCacheFix) != 1)
//            {
//                return Content("活动还没开启！");
//            }
//            ZhouNianQingZhuanPanEntity entity = GetActDataByOpenId(currentOpenid);
//            if (entity != null)
//            {
//                if (entity.isChoujiang != 1)
//                {
//                    return RedirectToAction("GamePage", new { openid = currentOpenid });
//                }
//            }
//            else
//            {
//                return Content("找不到结果数据！");
//            }
//            ViewBag.currentData = entity;
//            return View();
//        }


//        /// <summary>
//        /// 得到一个中奖结果，中奖几率大概是8%
//        /// </summary>
//        /// <returns></returns>
//        public int GetResult()
//        {
//            int[] jsshu = { 1, 3, 5, 7 };
//            int[] oushu = { 2, 4, 6, 8 };
//            Random rd = new Random();
//            int rdNum = rd.Next(1, 100);
//            int rdNum2 = rd.Next(0, 4);
//            //int sygs = ZhouNianQingZhuanPanBLL.GetShengyuShuliang(); //从数据库中查出剩余个数
//            if (rdNum > 30 && rdNum < 60)  //表示中奖
//            {
                
//                return oushu[rdNum2];
//            }
//            else
//            {
//                return jsshu[rdNum2];
//            }

//        }

//        /// <summary>
//        /// 用来验证是否还有剩余奖品
//        /// </summary>
//        /// <returns></returns>
//        [HttpPost]
//        public ActionResult YanZheng()
//        {

//            lock (lockObj)
//            {
//                try
//                {
//                    ZhouNianQingZhuanPanEntity entity = mmtols.Get<ZhouNianQingZhuanPanEntity>(actDataCacheFix + currentOpenid);
//                    if (entity.isChoujiang != 1)
//                    {


//                        //如果没有获取昵称和头像也不给予奖励 然后判断奖品 判断剩余个数
//                        if ( ZhouNianQingZhuanPanBLL.GetShengyuShuliang() > 0)
//                        {

//                            int count = ZhouNianQingZhuanPanBLL.InsertData(entity);
//                            if (count > 0)
//                            {
//                                ZhouNianQingZhuanPanBLL.UpdateShengyuShuliang();//如果剩余个数为大于0，则表示还有
//                            }
//                            entity.isChoujiang = 1;  //进行验证就说明已经点了抽奖
//                            mmtols.Add(actDataCacheFix + currentOpenid, entity, 2, 0, 0);
//                            return Content("1");
//                        }
//                        else   //由于没有奖品没有剩余，之前给定的中奖也取消
//                        {

//                            entity.gift = "3";
//                            ZhouNianQingZhuanPanBLL.InsertData(entity);
//                            entity.isChoujiang = 1;  //进行验证就说明已经点了抽奖
//                            mmtols.Add(actDataCacheFix + currentOpenid, entity, 2, 0, 0);
//                            return Content("0");
//                        }


//                    }  //如果是已经进行过抽奖，则不需要再重新验证
//                    else
//                    {
//                        return Content(entity.isHaveGift == 1 ? "1" : "0");
//                    }
//                }
//                catch (Exception)
//                {

//                    return Content("0");
//                }


//            }
//        }



//        [HttpPost]
//        /// <summary>
//        /// 表示转盘显示结果，提交数据
//        /// </summary>
//        /// <returns></returns>
//        public ActionResult Receipt()
//        {
//            try
//            {

//                ZhouNianQingZhuanPanEntity entity = mmtols.Get<ZhouNianQingZhuanPanEntity>(actDataCacheFix + currentOpenid);
//                if (entity != null)
//                {
//                    if (entity.isChoujiang == 0) //已经进行过抽奖了，就不需要再记录了
//                    {
//                        ZhouNianQingZhuanPanBLL.InsertData(entity);
//                        entity.isChoujiang = 1;
//                        mmtols.Add(actDataCacheFix + currentOpenid, entity, 2, 0, 0);
//                    }
//                }

//            }
//            catch (Exception)
//            {

//                return Content("0");
//            }

//            return Content("1");
//        }


//        #region  配置页相关
//        public ActionResult ConfigPage()
//        {

//            ViewBag.sygs = ZhouNianQingZhuanPanBLL.GetShengyuShuliang();
//            int obj = mmtols.Get<int>(openStatuCacheFix);
//            ViewBag.openStatu = obj;

//            return View();
//        }
//        /// <summary>
//        /// 获取中奖的名单
//        /// </summary>
//        /// <returns></returns>
//        public ActionResult GetZJMDList()
//        {
//            List<ZhouNianQingZhuanPanEntity> list = ZhouNianQingZhuanPanBLL.GetZJMD();
//            return Content(JsonTools.ToJson(list));
//        }

//        public ActionResult CloseOrOpenAct()
//        {
//            try
//            {
//                string statu = Request["statu"];
//                mmtols.Add(openStatuCacheFix, int.Parse(statu), 2, 0, 0);
//                return Content("1");
//            }
//            catch (Exception)
//            {

//                return Content("0");
//            }

//        }
//        /// <summary>
//        /// 清空数据
//        /// </summary>
//        /// <returns></returns>
//        public ActionResult ClearData()
//        {
//            try
//            {
//                List<ZhouNianQingZhuanPanEntity> list = ZhouNianQingZhuanPanBLL.GetAllData();
//                //先从数据库获取所有数据，然后根据openid去清空缓存
//                foreach (var item in list)
//                {
//                    mmtols.Remove(actDataCacheFix + item.openid);
//                }
//                ZhouNianQingZhuanPanBLL.DeleteAll();
//                return Content("1");
//            }
//            catch (Exception ex)
//            {
//                return Content(ex.Message);
//            }
//        }
//        /// <summary>
//        /// 设置奖品剩余个数
//        /// </summary>
//        /// <returns></returns>
//        public ActionResult SetSyCount()
//        {
//            try
//            {
//                string sycount = Request["sycount"];
//                ZhouNianQingZhuanPanBLL.SetSyCount(int.Parse(sycount));
//                return Content("1");
//            }
//            catch (Exception)
//            {

//                return Content("0");
//            }



//        }
//        #endregion
//        //public

//    }
//}
